<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1, initial-scale=1, shrink-to-fit=no">
    <div th:replace="~{admin/common :: common-link}"></div>
</head>
<body>
<div class="content animated fadeIn">
    <h2 class="content-heading" id="toolbar">
        <button type="button" class="btn btn-sm btn-secondary float-right hexo-query" data-query-area="queryArea"><i class="fa fa-search text-success mr-5"></i> 查询</button>
        <button type="button" class="btn btn-sm btn-secondary float-right mr-5 hexo-refresh"><i class="fa fa-refresh mr-5"></i> 刷新</button>
        <button type="button" class="btn btn-sm btn-secondary float-right mr-5 hexo-remove"><i class="fa fa-trash text-danger mr-5"></i> 删除</button>
        <i class="fa fa-users"></i> 用户列表
    </h2>
    <div class="block block-fx-shadow hide" id="queryArea">
        <div class="block-content block-content-full">
            <form class="form-inline" method="post" id="queryForm">
                <label class="sr-only" for="nickname">用户昵称</label>
                <div class="input-group">
                    <div class="input-group-prepend">
                        <button type="button" class="btn btn-secondary">用户昵称</button>
                    </div>
                    <input type="text" class="form-control mb-2 mr-sm-2 mb-sm-0" id="nickname" name="nickname" >
                </div>
                <label class="sr-only" for="state">状态</label>
                <div class="input-group">
                    <div class="input-group-prepend">
                        <button type="button" class="btn btn-secondary">状态</button>
                    </div>
                    <select class="form-control mb-2 mr-sm-2 mb-sm-0" id="state" name="state">
                        <option value="">全部</option>
                        <option value="true">可用</option>
                        <option value="false">禁用</option>
                    </select>
                </div>
                <button type="button" class="btn btn-alt-primary mr-5 hexo-query-submit">提交</button>
                <button type="reset" class="btn btn-alt-warning">重置</button>
            </form>
        </div>
    </div>
    <div class="block block-fx-shadow">
        <div class="block-content">
            <div class="table-responsive">
                <table id="listTable" class="table table-striped table-vcenter">
                    <thead>
                    <tr>
                        <th class='text-center' width="5%" data-checkbox="true">
                            <label class="css-control css-control-primary css-checkbox" for="check-all" >
                                <input type="checkbox" class="css-control-input" id="check-all">
                                <span class="css-control-indicator"></span>
                            </label>
                        </th>
                        <th width="8%" data-field="avatar" data-formatter="avatarFormatter">头像</th>
                        <th data-field="nickname">昵称</th>
                        <th width="20%" data-field="username">用户名</th>
                        <th width="20%" data-field="email">邮箱地址</th>
                        <th width="20%" data-field="createTime">注册时间</th>
                        <th width="5%" align="center" data-field="state" data-formatter="stateFormatter">状态</th>
                        <th width="10%" align="center" data-formatter="actionFormatter">操作</th>
                    </tr>
                    </thead>
                </table>
            </div>
        </div>
    </div>
</div>
<div th:replace="~{admin/common :: common-script}"></div>
<script th:inline="javascript">

    function avatarFormatter(val, row) {
        return "<img src='" + val + "' width='32' height='32' alt='' />";
    }

    function switchChange($obj) {
        let id = $obj.data("id");
        let state = $obj.prop("checked");

        $.hexo.modal.confirm("确定要修改开关吗？", function() {
            $.hexo.action.sendRequest({
                url: BASE_URL + "/updateState.json",
                params: {"id": id, "state": state},
                callback: function (resp) {
                    if (resp.success) {
                        $.hexo.modal.tip("修改状态成功", "success", function () {
                            $.hexo.modal.close();
                            $.hexo.table.refreshData();
                        });
                    }
                }
            });
        }, function() {
            $.hexo.table.refreshData();
        });
    }

    function stateFormatter(val, row) {
        let checked = val ? 'checked' : '';
        let arr = [];
        arr.push('<label class="css-control css-control-sm css-control-success css-switch">');
        arr.push('<input type="checkbox" class="css-control-input" ' + checked + ' data-id="'+row.id+'" onclick="window.switchChange($(this))">');
        arr.push('<span class="css-control-indicator"></span>');
        arr.push('</label>');
        return arr.join("");
    }

    function actionFormatter(val, row) {
        let btnArr = [];
        btnArr.push('<div class="btn-group">');
        btnArr.push('<button type="button" class="btn btn-sm btn-secondary" data-toggle="tooltip" title="删除" onclick="$.hexo.action.remove(\'' + row.id + '\')"><i class="fa fa-times"></i></button>');
        btnArr.push("</div>");
        return btnArr.join("");
    }

    $(function() {
        $.hexo.table.init({
            baseUrl: BASE_URL,
            height: $(window.parent).height() - 283
        });
    });
</script>
</body>
</html>